
// 49 同字符词语分组
// ["eat","aet","tea"] 放在一个组内
// // 先排序再根据map处理
// var groupAnagrams = function (strs) {
//     let hash = new Map();
//     for (let i = 0; i < strs.lenght; i++) {
//         let str = strs[i].split("").sort().join();
//         if (hash.has(str)) {
//             let temp = hash.get(str);
//             temp.push(strs[i]);
//             hash.set(str, temp);
//         } else {
//             hash.set(str, [strs[i]])
//         }
//     }

//     return [...hash.values()]
// }

// 例如:["eat", "tea", "tan", "ate", "nat", "bat"]
// 返回:[ ["ate", "eat","tea"], ["nat","tan"], ["bat"] ]

// 关键就是先排序一样的分组
function groupAnagrams(strs) {
    let hash = new Map();
    for (let i = 0; i < strs.length; i++) {
        let str = strs[i].split("").sort().join();
        if (hash.has(str)) {
            let temp = hash.get(str)
            temp.push(strs[i])
            hash.set(str, temp)
        } else {
            hash.set(str, [strs[i]])
        }
    }
    return [...hash.values()]
}

console.log(groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))


// // Creating a Iterator object 
// const mapIterator = myMap.values(); 
  
// // Getting values with iterator 
// console.log(mapIterator.next().value); 
// console.log(mapIterator.next().value); 
// console.log(mapIterator.next().value);